

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
    int ret = fork();
    if (ret < 0)
    {
        perror("fork");
        return 1;
    }
    else if (ret == 0)
    { // child
        printf("I am child : %d!, ret: %d\n", getpid(), ret);
    }
    else
    { // father
        printf("I am father : %d!, ret: %d\n", getpid(), ret);
    }
    sleep(1);
    return 0;
}

// #include <stdio.h>
// #include <sys/types.h>
// #include <unistd.h>
// int main()
// {
// int ret = fork();
// printf("hello proc : %d!, ret: %d\n", getpid(), ret);
// sleep(1);
// return 0;
// }

// #include <stdio.h>
// #include <sys/types.h>
// #include <unistd.h>
//
// int main()
//{
//	int fd = fork();
//	if (fd < 0)
//	{
//		perror("fork");
//	}
//	while (1)
//	{
//		if (fd == 0)
//		{
//			// 子进程
//			printf("子进程: %d,父为:%d\n", getpid(),getppid());
//			sleep(2);
//		}
//		else
//		{
//			// 父进程
//			printf("父进程: %d,父为:%d\n", getpid(),getppid());
//			sleep(2);
//		}
//	}
//	return 0;
// }
